package br.com.projetandoo.managedbean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.projetandoo.dto.UsuarioDto;
import br.com.projetandoo.managedbean.controle.AplicacaoControleManagedBean;
import br.com.projetandoo.service.UsuarioService;

@ManagedBean
@SessionScoped
public class UsuarioControle extends AplicacaoControleManagedBean{

	public UsuarioControle() {
		usuarioDto = new UsuarioDto();
	}
	private static final long serialVersionUID = -8465892001455992309L;
	private UsuarioDto usuarioDto;

	@ManagedProperty("#{usuarioService}")
	private UsuarioService usuarioService;
	
	
	public boolean isLogado(){
		return usuarioDto != null && usuarioDto.getIdUsuario() != null;
	}
	
	public String logar(){
		usuarioDto = usuarioService.login(usuarioDto.getLogin(), usuarioDto.getSenha());
		return "/pages/main.jsf";
	}

	public String logout(){
		HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		request.getSession().invalidate();
		return "/index.jsp";
	}
	
	public UsuarioDto getUsuarioDto() {
		return usuarioDto;
	}
	public void setUsuarioDto(UsuarioDto usuarioDto) {
		this.usuarioDto = usuarioDto;
	}
	public UsuarioService getUsuarioService() {
		return usuarioService;
	}
	public void setUsuarioService(UsuarioService usuarioService) {
		this.usuarioService = usuarioService;
	}
}
